package com.marvels.dubbo.externalservice.service;

import com.fintech.third.model.message.SmsDefinebathSend;
import com.fintech.third.model.message.SmsSend;
import com.fintech.third.model.message.SmsTemplate;
import net.sf.json.JSONObject;

import java.util.List;
import java.util.Map;

public interface SendSmsService {
	/**
	 * 单发短信
	 * @param phone
	 * @param send_content
	 * @return
	 */
	public String sendSms(JSONObject json);
	
	
	/**
	 * 通过自定义模板发送
	 * @param map
	 * @return
	 */
	public Boolean smsSendDefineTemplate(List<SmsDefinebathSend> list) ;
	
	/**
	 * 短信重发
	 * @param smsSendFailureId
	 * @return
	 */
	public String smsSendAgagin(long smsSendFailureId);
	
	
	/**
	 * 根据id查询短信模板
	 * @param templateId
	 * @return
	 */
	public SmsTemplate querySmsTemplateById(long templateId);
	
	
	/**
	 * 插入短信模板
	 * @return
	 */
	public String insertSmsTemplate(JSONObject json);
	
	
	/**
	 * 删除短信模板
	 * @return
	 */
	public String removeSmsTemplate(long templateId);
	
	/**
	 * 更新短信模板
	 * @param jsonObject
	 * @return
	 */
	public String updateSmsTemplate(JSONObject jsonObject);
	
	/**
	 * 分页,条件查询短信模板
	 * @return
	 */
	public List<Map<String, Object>> searchSmsTemplateInfo(JSONObject jsonObject);
	
	
	
	/**
	 * 插入短信定时发送表
	 * @param jsonObject
	 * @return
	 */
	public Boolean insertTimingSms(final List<SmsSend> list);
	
	
	/**
	 * (北京烽火短信)接收回调修改回执状态
	 * @param jsonObject
	 * @return
	 */
	public void fhReceiptStatus(String name,String report);

}
